﻿function getcamera() {
    var div = '<div id="camera"><div style="padding:0 20px">';
    div += '<div class="m-item" style="border-bottom:1px solid #eee">';
    div += '<div class="m-label">签收单</div>';
    div += '<div><input type="text" id="code" class="easyui-textbox" style="width:140px;height:30px;font-size: 16px;"/><a href="#" class="easyui-linkbutton" id="upbtn">上传</a></div></div></div>';
    div += '<div style="text-align:center;margin-top:20px"><div class="m-item" style="border-bottom:1px solid #eee">';
    div += '<a href="#" id="camera_cpz" class="easyui-linkbutton" style="width:40%"><span style="font-size:16px">拍照</span></a>&nbsp;&nbsp;';
    div += '<a href="#" id="camera_xc" class="easyui-linkbutton" style="width:40%"><span style="font-size:16px">相册</span></a></div>';
    div += ' <img id="urlimage" src="" width="100%" height="90%" /></div></div>';
    var cam = document.getElementById("camera");
    if (!cam) {
        $("#tabpage3").append(div);
        $("#camera_cpz").linkbutton({
            onClick: function () {
                $("#returnpic").css('display', 'none');
                $("#returninfo").css('display', 'none');
                wx.chooseImage({
                    count: 1, // 默认9
                    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
                    sourceType: ['camera'], // 可以指定来源是相册还是相机，默认二者都有
                    success: function (res) {
                        var localIds = res.localIds; // 返回选定照片的本地ID列表，localId可以作为img标签的src属性显示图片
                        onPhotoUrlSuccess(localIds);
                    }
                });
            }
        });
        $("#camera_xc").linkbutton({
            onClick: function () {
                $("#returnpic").css('display', 'none');
                $("#returninfo").css('display', 'none');
                wx.chooseImage({
                    count: 1, // 默认9
                    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
                    sourceType: ['album'], // 可以指定来源是相册还是相机，默认二者都有
                    success: function (res) {
                        var localIds = res.localIds; // 返回选定照片的本地ID列表，localId可以作为img标签的src属性显示图片
                        onPhotoUrlSuccess(localIds);
                    }
                });
            }
        });
        $("#upbtn").linkbutton({
            onClick: function () {
                uploadPhoto();
            }
        });
    }
}
function onPhotoUrlSuccess(imageURI) {
    picUrl = imageURI;
    $("#urlimage").css('display', 'block');
    $("#urlimage").attr('src', picUrl);
}
function onUrlFail(message) {
    alert('调用图片出错，错误信息: ' + message);
}

function uploadPhoto() {
    var code = $("#code").val();
    if (code == null || code == "")
    {
        $.messager.alert('异常', "签收单号不能为空！！！", 'error');
        return;
    }
    var imgsrc = $("#urlimage").attr('src');
    if (imgsrc == "" || imgsrc == null)
    {
        $.messager.alert('异常', "照片不能为空！！！", 'error');
        return;
    }
    var ds = new datasource();
    ds.c = "Way.Bus.WMS.ST.Controllers.YS.ST_PackListController";
    var img = document.getElementById("urlimage");
    var data = getBase64Image(img);
    data = data.replace("data:image/png;base64,", "");
    data = encodeURIComponent(data);
    var count = data.length;
    var fgcs = 1024 * 90;
    var fg = (count / fgcs) | 0;
    ffff(data, 0,count,fgcs,fg);
    function ffff(data, i,count,fgcs,fg) {
        var n = (i + 1) * fgcs;
        var f = n - fgcs;
        var str;
        if (n <= count) {
            str = data.substring(f, n);
        }
        else {
            str = data.substring(f, count);
        }
        var cs = fg - i;
        ds.submit("receipt", "cs=" + cs + "&code=" + code + "&rimp=" + str, function (e) {
            if (e && e.error) {
                $.messager.alert('异常', e.errormsg, 'error');
            }
            else {
                if (e.results == "0") {
                    $.messager.alert('完成', "签收完成。");
                    $("#code").val("");
                    $("#urlimage").attr('src', "");
                }
                else {
                    ffff(data, i + 1, count, fgcs, fg);
                }
            }
        });
    }
}
function win(r) {

    $("#returnpic").css('display', 'block');
    $("#returninfo").css('display', 'block');

    $("#urlimage").css('display', 'none');
    $("#urlinfo").css('display', 'none');
    $("#returnpic").attr("src", "http://117.40.138.121:520/zms/files/" + r.response);

    $("#returninfo").html("上传成功\n：反馈的信息:r.responseCode:" + r.responseCode + "\nr.response:" + r.response + "\nr.bytesSent:" + r.bytesSent);
}
function getBase64Image(img) {
    var canvas = document.createElement("canvas");
    canvas.width = 1024
    canvas.height = 768;

    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0, 1024,768);

    var dataURL = canvas.toDataURL("image/png");
    return dataURL
}
function fail(error) {

    $("#returninfo").css('display', 'block');

    /*
      FileTransferError.FILE_NOT_FOUND_ERR：1 文件未找到错误。
     •FileTransferError.INVALID_URL_ERR：2  无效的URL错误。
     •FileTransferError.CONNECTION_ERR：3  连接错误。
     FileTransferError.ABORT_ERR = 4;  程序异常
     */
    var errorcode = error.code;
    var errstr = "";
    switch (errorcode) {
        case 1:
            {
                errstr = "错误代码1：源文件路径异常，请重新选择或者拍照上传！";
                break;
            }
        case 2:
            {
                errstr = "错误代码2:目标地址无效,请重试！";
                break;
            }
        case 3:
            {
                errstr = "您手机或者后台服务器网络异常,请重新上传！";
                break;
            }
        default:
            {
                errstr = "程序出错";
                break;
            }

    }
    $("#returninfo").text("上传失败,错误代码:" + errstr + "上传源文件:" + error.source + "目标地址:" + error.target + "请重新上传！")
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}